<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PMP五大过程组与十大知识领域</title>
    <style>
        :root { --blue:#3b82f6; --indigo:#1e3a8a; --bg-dark:#0f172a; --panel:#1e293b; --radius:16px; }
        * { margin:0; padding:0; box-sizing:border-box; }
        body { font-family:'Microsoft YaHei', Arial, sans-serif; background:linear-gradient(135deg,#0f172a,#1e293b); color:#e2e8f0; min-height:100vh; padding:24px; }
        .container { max-width:1400px; margin:0 auto; }
        header { position:relative; background:radial-gradient(circle at 20% 30%, #3b82f6 0%, #1e3a8a 45%, #0f172a 100%); padding:22px 30px 18px; border-radius:20px; box-shadow:0 8px 28px rgba(0,0,0,.35); display:flex; flex-direction:column; gap:14px; margin-bottom:26px; }
        header h1 { margin:0; font-size:2.1rem; font-weight:700; letter-spacing:.5px; }
        .page-actions { display:flex; flex-wrap:wrap; gap:12px; }
        .nav-btn-link { background:#fff; color:var(--indigo); padding:8px 20px; font-size:.8rem; font-weight:600; border-radius:30px; display:inline-flex; align-items:center; gap:6px; cursor:pointer; box-shadow:0 4px 14px rgba(0,0,0,.25); text-decoration:none; transition:.3s; border:1px solid #cbd5e1; }
        .nav-btn-link:hover { background:var(--blue); color:#fff; transform:translateY(-2px); }
        .intro-line { font-size:.85rem; color:#cbd5e1; opacity:.9; }
        @media (max-width:700px){ header h1 {font-size:1.7rem;} }
        .pmp-table { width:100%; border-collapse:collapse; background:#1e293b; border-radius:12px; overflow:hidden; }
        
        .pmp-table th {
            background: linear-gradient(135deg, #2d3748, #4a5568);
            color: white;
            padding: 18px 12px;
            text-align: center;
            font-weight: 600;
            font-size: 0.95em;
            border: 1px solid #4a5568;
            position: sticky;
            top: 0;
        }
        
        .pmp-table td {
            padding: 12px 10px;
            border: 1px solid #374151;
            vertical-align: top;
            transition: all 0.3s ease;
        }
        
        .knowledge-area {
            background: linear-gradient(135deg, #2b6cb0, #3182ce);
            color: white;
            font-weight: 600;
            font-size: 0.9em;
            text-align: center;
            width: 180px;
            position: sticky;
            left: 0;
        }
        
        .process-group {
            background: #2d3748;
            min-height: 60px;
        }
        
        .process-item {
            background: linear-gradient(135deg, #2d3748, #4a5568);
            margin: 6px 0;
            padding: 10px;
            border-radius: 6px;
            border-left: 4px solid #63b3ed;
            cursor: pointer;
            transition: all 0.3s ease;
            font-size: 0.85em;
            color: #e2e8f0;
        }
        
        .process-item:hover {
            background: linear-gradient(135deg, #3b82f6, #2563eb);
            transform: translateX(2px);
            box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
        }
        
        .empty-cell {
            text-align: center;
            color: #94a3b8;
            font-style: italic;
        }
        
        #tooltip {
            position: fixed;
            background: rgba(30,41,59,0.85);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            color: #f1f5f9;
            padding: 18px 20px 16px 20px;
            border-radius: 16px;
            box-shadow: 0 6px 20px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.08) inset;
            border: 1px solid rgba(148,163,184,0.35);
            z-index: 1000;
            max-width: 360px;
            font-size: 0.78rem;
            line-height: 1.55;
            display: none;
            animation: fadeIn .25s ease;
            position: fixed;
            overflow:hidden;
        }
        #tooltip:before {content:""; position:absolute; inset:0; background:linear-gradient(135deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 60%, rgba(255,255,255,0) 80%); pointer-events:none;}
        #tooltip:after {content:""; position:absolute; top:0; left:0; bottom:0; width:6px; background:var(--accent,#3b82f6); box-shadow:0 0 0 1px rgba(0,0,0,0.07), 0 0 10px var(--accent,#3b82f6);}
        
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }
        
        .tooltip-title {font-weight:700; color:#f8fafc; margin:0 0 10px; font-size:.9rem; letter-spacing:.5px; display:flex; align-items:center; gap:6px;}
        .tooltip-subtitle {font-size:.7rem; color:#94a3b8; margin:-4px 0 10px; font-weight:500; letter-spacing:.4px;}
        .tooltip-divider {height:1px; background:linear-gradient(90deg, rgba(148,163,184,0.5), rgba(148,163,184,0.1)); margin:8px 0 10px; border-radius:2px;}
        
        .tooltip-section {
            margin-bottom: 8px;
        }
        
        .tooltip-section-title {color:#38bdf8; font-weight:600; margin-bottom:4px; font-size:.72rem; letter-spacing:.5px; text-transform:uppercase;}
        .tooltip-list {margin:0 0 8px; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:6px;}
        .tooltip-list li {background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.15); padding:4px 8px; border-radius:14px; font-size:.63rem; letter-spacing:.4px; font-weight:500; display:flex; align-items:center; gap:4px; position:relative;}
        .tooltip-list li:before {content:""; width:6px; height:6px; background:var(--accent,#3b82f6); border-radius:50%; box-shadow:0 0 0 1px rgba(0,0,0,0.4);}        
        .tooltip-footer {font-size:.62rem; color:#94a3b8; margin-top:6px; display:flex; align-items:center; gap:4px;}
        .accent-plan {--accent:#3b82f6;}
        .accent-control {--accent:#ef4444;}
        .accent-risk {--accent:#f59e0b;}
        .accent-quality {--accent:#10b981;}
        .accent-resource {--accent:#6366f1;}
        .accent-stake {--accent:#8b5cf6;}
        .legend {
            background: #1e293b;
            padding: 20px;
            border-radius: 8px;
            margin-top: 20px;
            border: 1px solid #374151;
        }
        
        .legend h3 {
            color: #63b3ed;
            margin-bottom: 15px;
        }
        
        .legend-items {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 15px;
        }
        
        .legend-item {
            display: flex;
            align-items: center;
            gap: 10px;
        }
        
        .color-box {
            width: 20px;
            height: 20px;
            border-radius: 4px;
            flex-shrink: 0;
        }
        
        .process-group-color {
            background: linear-gradient(135deg, #2d3748, #4a5568);
        }
        
        .process-item-color {
            background: linear-gradient(135deg, #3b82f6, #2563eb);
        }
        
        @media (max-width: 1200px) {
            .container {
                overflow-x: auto;
            }
            
            .pmp-table {
                min-width: 1000px;
            }
        }
        /* H5移动端适配 */
        @media (max-width:800px){
            body {padding:16px;}
            header {padding:18px 18px 16px; gap:10px;}
            .page-actions {gap:8px;}
            .nav-btn-link {padding:6px 14px; font-size:.7rem;}
            .foundation-grid {grid-template-columns:1fr !important;}
            .foundation-block {padding:14px 15px !important;}
            .pmp-table th {padding:12px 8px; font-size:.75rem;}
            .pmp-table td {padding:10px 8px;}
            .knowledge-area {font-size:.75rem; width:140px;}
            .process-item {font-size:.7rem; padding:8px; margin:4px 0;}
            #tooltip {max-width:280px; font-size:.7rem; padding:14px 16px 12px;}
            .legend {padding:16px;}
            #agile {padding:20px 18px 24px !important;}
        }
        @media (max-width:560px){
            header h1 {font-size:1.4rem;}
            .nav-btn-link {flex:1 1 46%; justify-content:center;}
            .intro-line {font-size:.72rem;}
            .foundation-grid {gap:14px !important;}
            .knowledge-area {position:static;}
            .pmp-table {display:block; overflow-x:auto;}
            .pmp-table thead {display:none;}
            .pmp-table tr {display:block; margin-bottom:14px; border:1px solid #374151; border-radius:10px; overflow:hidden;}
            .pmp-table td {display:block; border:none; border-bottom:1px solid #374151;}
            .pmp-table td.knowledge-area {background:#2b6cb0; text-align:left; padding:10px 12px;}
            .pmp-table td.process-group {min-height:auto;}
            .process-item {display:inline-block; margin:4px 6px 4px 0;}
            .mobile-scroll-hint {display:block;}
        }
        .mobile-scroll-hint {display:none; text-align:center; font-size:.65rem; color:#94a3b8; margin-top:6px;}
    </style>
</head>
<body>
    <div class="container">
        <header>
            <h1>PMP五大过程组与十大知识领域</h1>
            <div class="page-actions">
                <a class="nav-btn-link" href="复习计划.html">返回备考日历</a>
                <a class="nav-btn-link" href="#基础">基础</a>
                <a class="nav-btn-link" href="#目录">目录</a>
                <a class="nav-btn-link" href="#agile">敏捷实践</a>
            </div>
            <div class="intro-line">鼠标悬停查看每个过程的输入/输出/定义，点击快速记忆。</div>
        </header>
        <!-- 项目管理基础知识独立板块 -->
        <section id="基础" class="foundation-section" style="background:#1e293b; border:1px solid #334155; border-radius:14px; padding:20px 24px; margin-bottom:26px; box-shadow:0 6px 22px rgba(0,0,0,.45);">
            <h2 style="margin:0 0 16px; font-size:1.4rem; font-weight:700; letter-spacing:.5px; display:flex; align-items:center; gap:10px; color:#f1f5f9;">
                <span style="display:inline-block; width:8px; height:8px; background:#10b981; border-radius:50%; box-shadow:0 0 0 4px rgba(16,185,129,.25);"></span>项目管理基础知识
            </h2>
            <div class="foundation-grid" style="display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(300px,1fr));">
                <!-- 1. 项目基本要素 -->
                <div class="foundation-block" style="background:linear-gradient(135deg,#0f172a,#1e293b); border:1px solid #475569; border-radius:12px; padding:16px 18px; position:relative; overflow:hidden;">
                    <div style="font-weight:600; font-size:1rem; margin:0 0 12px; display:flex; align-items:center; gap:6px; color:#3b82f6;">1. 项目基本要素</div>
                    <ul style="list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; font-size:.8rem; line-height:1.4;">
                        <li><strong>a) 项目：</strong> <a href="项目管理基础-项目.html#sec-1-1" style="color:#3b82f6; text-decoration:underline;">为创造独特产品、服务或成果而进行的临时性工作</a>。</li>
                        <li><strong>b) 项目管理的重要性：</strong> <a href="项目管理基础-项目管理的重要性.html#sec-1-2" style="color:#10b981; text-decoration:underline;">平衡范围、时间、成本与质量，提升成功率与价值交付</a>。</li>
                        <li><strong>c) 项目 / 项目集 / 项目组合 / 运营：</strong> 项目集聚焦协同收益；项目组合围绕战略优化资源；运营是持续性业务活动。</li>
                        <li><strong>d) 项目关键组成部分：</strong> 目标、可交付成果、相关方、资源、约束、假设。</li>
                        <li><strong>e) 裁剪：</strong> 根据组织环境、规模与复杂度适配过程与工具，做到“必要且充分”。</li>
                        <li><strong>f) 项目管理商业文件：</strong> 商业论证、效益管理计划，用于确认项目价值与收益跟踪。</li>
                    </ul>
                </div>
                <!-- 2. 项目运行环境 -->
                <div class="foundation-block" style="background:linear-gradient(135deg,#0f172a,#1e293b); border:1px solid #475569; border-radius:12px; padding:16px 18px; position:relative; overflow:hidden;">
                    <div style="font-weight:600; font-size:1rem; margin:0 0 12px; display:flex; align-items:center; gap:6px; color:#10b981;">2. 项目运行环境</div>
                    <ul style="list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; font-size:.8rem; line-height:1.4;">
                        <li><strong>a) 事业环境因素 (EEF)：</strong> 外部/内部条件影响项目执行，如文化、法规、市场、基础设施。</li>
                        <li><strong>b) 组织过程资产 (OPA)：</strong> 组织积累的流程、模板、知识库与经验教训，可复用提升效率。</li>
                        <li><strong>c) 组织系统：</strong> 组织结构（职能型、矩阵型、项目型）、治理框架与决策路径影响权责与沟通。</li>
                    </ul>
                </div>
                <!-- 3. 项目经理角色 -->
                <div class="foundation-block" style="background:linear-gradient(135deg,#0f172a,#1e293b); border:1px solid #475569; border-radius:12px; padding:16px 18px; position:relative; overflow:hidden;">
                    <div style="font-weight:600; font-size:1rem; margin:0 0 12px; display:flex; align-items:center; gap:6px; color:#8b5cf6;">3. 项目经理角色</div>
                    <ul style="list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; font-size:.8rem; line-height:1.4;">
                        <li><strong>a) 角色示例：</strong> 规划者、协调者、整合者、沟通桥梁、决策支持。</li>
                        <li><strong>b) 定义：</strong> 被授权应用知识、技能、工具与技术以满足项目要求的负责人。</li>
                        <li><strong>c) 干系人：</strong> 受项目影响或可影响项目的个人/群体/组织，需分析与分层管理。</li>
                        <li><strong>d) 影响力范围：</strong> 团队 → 组织 → 行业 → 专业 → 社会，可通过行为与成果逐步扩展。</li>
                        <li><strong>e) 能力：</strong> 绩效领域涵盖领导力、商业敏锐度、战略与价值交付。</li>
                        <li><strong>f) 领导力：</strong> 情境领导、激励、授权、冲突管理与服务型心态。</li>
                        <li><strong>g) 执行整合：</strong> 持续整合过程、人员、信息与期望，动态平衡相互制约因素。</li>
                    </ul>
                </div>
            </div>
        </section>
        <nav id="目录" style="background:#1e293b; border:1px solid #334155; border-radius:12px; padding:14px 18px; margin-bottom:24px; box-shadow:0 4px 16px rgba(0,0,0,.35);">
            <div style="font-size:.9rem; font-weight:600; margin-bottom:10px; color:#63b3ed; display:flex; align-items:center; gap:6px;"><span style="display:inline-block; width:6px; height:6px; background:#63b3ed; border-radius:50%;"></span>快速跳转目录</div>
            <div style="display:flex; flex-wrap:wrap; gap:10px;">
                <a href="#area-1" class="nav-btn-link" style="background:#10b981; color:#fff;">整合</a>
                <a href="#area-2" class="nav-btn-link" style="background:#3b82f6; color:#fff;">范围</a>
                <a href="#area-3" class="nav-btn-link" style="background:#8b5cf6; color:#fff;">进度</a>
                <a href="#area-4" class="nav-btn-link" style="background:#ef4444; color:#fff;">成本</a>
                <a href="#area-5" class="nav-btn-link" style="background:#10b981; color:#fff;">质量</a>
                <a href="#area-6" class="nav-btn-link" style="background:#3b82f6; color:#fff;">资源</a>
                <a href="#area-7" class="nav-btn-link" style="background:#8b5cf6; color:#fff;">沟通</a>
                <a href="#area-8" class="nav-btn-link" style="background:#ef4444; color:#fff;">风险</a>
                <a href="#area-9" class="nav-btn-link" style="background:#10b981; color:#fff;">采购</a>
                <a href="#area-10" class="nav-btn-link" style="background:#3b82f6; color:#fff;">相关方</a>
            </div>
        </nav>

        <table class="pmp-table">
            <thead>
                <tr>
                    <th>知识领域/过程组</th>
                    <th>启动过程组</th>
                    <th>规划过程组</th>
                    <th>执行过程组</th>
                    <th>监控过程组</th>
                    <th>收尾过程组</th>
                </tr>
            </thead>
            <tbody>
                <!-- 项目整合管理 -->
                <tr>
                    <td class="knowledge-area" id="area-1">1. 项目整合管理</td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '制定项目章程', 
                             '输入：商业文件、协议、事业环境因素、组织过程资产<br>输出：项目章程、假设日志<br>定义：正式批准项目并授权项目经理使用组织资源')">
                            制定项目章程
                        </div>
                    </td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '制定项目管理计划', 
                             '输入：项目章程、其他规划过程的输出、事业环境因素、组织过程资产<br>输出：项目管理计划<br>定义：定义、准备和协调所有子计划，并将其整合为综合项目管理计划')">
                            制定项目管理计划
                        </div>
                    </td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '指导与管理项目工作', 
                             '输入：项目管理计划、项目文件、批准的变更请求、事业环境因素、组织过程资产<br>输出：可交付成果、工作绩效数据、问题日志、变更请求<br>定义：为实现项目目标而领导和执行项目管理计划中所确定的工作')">
                            指导与管理项目工作
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '管理项目知识', 
                             '输入：项目管理计划、项目文件、可交付成果、未成文的知识、事业环境因素、组织过程资产<br>输出：经验教训登记册、项目文件更新、知识管理成果、工作绩效信息、变更请求<br>定义：利用现有知识并创建新知识，以实现项目目标并支持组织学习')">
                            管理项目知识
                        </div>
                    </td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '监控项目工作', 
                             '输入：项目管理计划、项目文件、工作绩效信息、协议、事业环境因素、组织过程资产<br>输出：工作绩效报告、变更请求、项目管理计划更新<br>定义：跟踪、审查和报告整体项目进展，以实现项目管理计划中确定的绩效目标')">
                            监控项目工作
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '实施整体变更控制', 
                             '输入：项目管理计划、项目文件、工作绩效报告、变更请求、事业环境因素、组织过程资产<br>输出：批准的变更请求、项目管理计划更新、项目文件更新<br>定义：审查所有变更请求、批准变更，管理对可交付成果、组织过程资产等的变更')">
                            实施整体变更控制
                        </div>
                    </td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '结束项目或阶段', 
                             '输入：项目章程、项目管理计划、项目文件、验收的可交付成果、商业文件、协议、采购文档、组织过程资产<br>输出：项目文件更新、最终产品/服务/成果移交、最终报告、组织过程资产更新<br>定义：终结项目、阶段或合同的所有活动')">
                            结束项目或阶段
                        </div>
                    </td>
                </tr>

                <!-- 项目范围管理 -->
                <tr>
                    <td class="knowledge-area" id="area-2">2. 项目范围管理</td>
                    <td class="empty-cell">-</td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '规划范围管理', 
                             '输入：项目章程、项目管理计划、事业环境因素、组织过程资产<br>输出：范围管理计划、需求管理计划<br>定义：创建范围管理计划，记录如何定义、确认和控制项目范围')">
                            规划范围管理
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '收集需求', 
                        '输入：项目章程、项目管理计划、项目文件、商业文件、协议、事业环境因素、组织过程资产<br><span style=\'font-size:0.95rem; font-weight:700; color:#f87171;\'>输出：需求文件、需求跟踪矩阵</span><br>定义：确定、记录和管理相关方需要和需求的过程')">
                            收集需求
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '定义范围', 
                             '输入：项目章程、项目管理计划、项目文件、商业文件、协议、事业环境因素、组织过程资产<br>输出：项目范围说明书、项目文件更新<br>定义：制定项目和产品详细描述的过程')">
                            定义范围
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '创建WBS', 
                             '输入：项目管理计划、项目文件、事业环境因素、组织过程资产<br>输出：范围基准、项目文件更新<br>定义：将项目可交付成果和项目工作分解为较小的、更易于管理的组件的过程')">
                            创建WBS
                        </div>
                    </td>
                    <td class="empty-cell">-</td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '确认范围', 
                             '输入：项目管理计划、项目文件、核实的可交付成果、工作绩效数据<br>输出：验收的可交付成果、工作绩效信息、变更请求、项目文件更新<br>定义：正式验收已完成的项目可交付成果的过程')">
                            确认范围
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '控制范围', 
                             '输入：项目管理计划、项目文件、工作绩效数据、组织过程资产<br>输出：工作绩效信息、变更请求、项目管理计划更新、项目文件更新<br>定义：监督项目和产品的范围状态，管理范围基准变更的过程')">
                            控制范围
                        </div>
                    </td>
                    <td class="empty-cell">-</td>
                </tr>

                <!-- 项目进度管理 -->
                <tr>
                    <td class="knowledge-area" id="area-3">3. 项目进度管理</td>
                    <td class="empty-cell">-</td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '规划进度管理', 
                             '输入：项目章程、项目管理计划、事业环境因素、组织过程资产<br>输出：进度管理计划<br>定义：为规划、编制、管理、执行和控制项目进度而制定政策、程序和文档的过程')">
                            规划进度管理
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '定义活动', 
                             '输入：项目管理计划、事业环境因素、组织过程资产<br>输出：活动清单、活动属性、里程碑清单、变更请求、项目管理计划更新<br>定义：识别和记录为完成项目可交付成果而需采取的具体行动的过程')">
                            定义活动
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '排列活动顺序', 
                             '输入：项目管理计划、项目文件、事业环境因素、组织过程资产<br>输出：项目进度网络图、项目文件更新<br>定义：识别和记录项目活动之间的关系的过程')">
                            排列活动顺序
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '估算活动持续时间', 
                             '输入：项目管理计划、项目文件、事业环境因素、组织过程资产<br>输出：持续时间估算、估算依据、项目文件更新<br>定义：根据资源估算的结果，估算完成单项活动所需工作时段数的过程')">
                            估算活动持续时间
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '制定进度计划', 
                             '输入：项目管理计划、项目文件、协议、事业环境因素、组织过程资产<br>输出：进度基准、项目进度计划、进度数据、项目日历、变更请求、项目管理计划更新、项目文件更新<br>定义：分析活动顺序、持续时间、资源需求和进度制约因素，创建项目进度模型的过程')">
                            制定进度计划
                        </div>
                    </td>
                    <td class="empty-cell">-</td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '控制进度', 
                             '输入：项目管理计划、项目文件、工作绩效数据、组织过程资产<br>输出：工作绩效信息、进度预测、变更请求、项目管理计划更新、项目文件更新<br>定义：监督项目状态，以更新项目进度和管理进度基准变更的过程')">
                            控制进度
                        </div>
                    </td>
                    <td class="empty-cell">-</td>
                </tr>

                <!-- 项目成本管理 -->
                <tr>
                    <td class="knowledge-area" id="area-4">4. 项目成本管理</td>
                    <td class="empty-cell">-</td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '规划成本管理', 
                             '输入：项目章程、项目管理计划、事业环境因素、组织过程资产<br>输出：成本管理计划<br>定义：确定如何估算、预算、管理、监督和控制项目成本的过程')">
                            规划成本管理
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '估算成本', 
                             '输入：项目管理计划、项目文件、事业环境因素、组织过程资产<br>输出：成本估算、估算依据、项目文件更新<br>定义：估算完成项目工作所需资源成本的过程')">
                            估算成本
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '制定预算', 
                             '输入：项目管理计划、项目文件、商业文件、协议、组织过程资产<br>输出：成本基准、项目资金需求、项目文件更新<br>定义：汇总所有单个活动或工作包的估算成本，建立经批准的成本基准的过程')">
                            制定预算
                        </div>
                    </td>
                    <td class="empty-cell">-</td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '控制成本', 
                             '输入：项目管理计划、项目文件、项目资金需求、工作绩效数据、组织过程资产<br>输出：工作绩效信息、成本预测、变更请求、项目管理计划更新、项目文件更新<br>定义：监督项目状态，以更新项目成本和管理成本基准变更的过程')">
                            控制成本
                        </div>
                    </td>
                    <td class="empty-cell">-</td>
                </tr>

                <!-- 项目质量管理 -->
                <tr>
                    <td class="knowledge-area" id="area-5">5. 项目质量管理</td>
                    <td class="empty-cell">-</td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '规划质量管理', 
                             '输入：项目章程、项目管理计划、项目文件、事业环境因素、组织过程资产<br>输出：质量管理计划、质量测量指标、项目管理计划更新、项目文件更新<br>定义：识别项目及其可交付成果的质量要求和/或标准，并书面描述项目将如何证明符合质量要求的过程')">
                            规划质量管理
                        </div>
                    </td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '管理质量', 
                             '输入：项目管理计划、项目文件、组织过程资产<br>输出：质量报告、测试与评估文件、变更请求、项目管理计划更新、项目文件更新<br>定义：把组织的质量政策用于项目，并将质量管理计划转化为可执行的质量活动的过程')">
                            管理质量
                        </div>
                    </td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '控制质量', 
                             '输入：项目管理计划、项目文件、批准的变更请求、可交付成果、工作绩效数据、事业环境因素、组织过程资产<br>输出：质量控制测量结果、核实的可交付成果、工作绩效信息、变更请求、项目管理计划更新、项目文件更新<br>定义：为了评估绩效，确保项目输出完整、正确且满足客户期望，而监督和记录质量管理活动执行结果的过程')">
                            控制质量
                        </div>
                    </td>
                    <td class="empty-cell">-</td>
                </tr>

                <!-- 项目资源管理 -->
                <tr>
                    <td class="knowledge-area" id="area-6">6. 项目资源管理</td>
                    <td class="empty-cell">-</td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '规划资源管理', 
                             '输入：项目章程、项目管理计划、项目文件、事业环境因素、组织过程资产<br>输出：资源管理计划、团队章程、项目文件更新<br>定义：定义如何估算、获取、管理和利用团队以及实物资源的过程')">
                            规划资源管理
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '估算活动资源', 
                             '输入：项目管理计划、项目文件、事业环境因素、组织过程资产<br>输出：资源需求、估算依据、资源分解结构、项目文件更新<br>定义：估算执行项目所需的团队资源，以及材料、设备和用品的类型和数量的过程')">
                            估算活动资源
                        </div>
                    </td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '获取资源', 
                             '输入：项目管理计划、项目文件、事业环境因素、组织过程资产<br>输出：实物资源分配单、项目团队派工单、资源日历、变更请求、项目管理计划更新、项目文件更新<br>定义：获取项目所需的团队成员、设施、设备、材料、用品和其他资源的过程')">
                            获取资源
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '建设团队', 
                             '输入：项目管理计划、项目文件、事业环境因素、组织过程资产<br>输出：团队绩效评价、变更请求、项目管理计划更新、项目文件更新<br>定义：提高工作能力，促进团队成员互动，改善团队整体氛围，以提高项目绩效的过程')">
                            建设团队
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '管理团队', 
                             '输入：项目管理计划、项目文件、工作绩效报告、团队绩效评价、事业环境因素、组织过程资产<br>输出：变更请求、项目管理计划更新、项目文件更新<br>定义：跟踪团队成员工作表现，提供反馈，解决问题并管理团队变更，以优化项目绩效的过程')">
                            管理团队
                        </div>
                    </td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '控制资源', 
                             '输入：项目管理计划、项目文件、工作绩效数据、协议、组织过程资产<br>输出：工作绩效信息、变更请求、项目管理计划更新、项目文件更新<br>定义：确保按计划为项目分配实物资源，以及监督资源实际使用情况的过程')">
                            控制资源
                        </div>
                    </td>
                    <td class="empty-cell">-</td>
                </tr>

                <!-- 项目沟通管理 -->
                <tr>
                    <td class="knowledge-area" id="area-7">7. 项目沟通管理</td>
                    <td class="empty-cell">-</td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '规划沟通管理', 
                             '输入：项目章程、项目管理计划、项目文件、事业环境因素、组织过程资产<br>输出：沟通管理计划、项目管理计划更新、项目文件更新<br>定义：基于每个相关方或相关方群体的信息需求、可用的组织资产，以及具体项目的需求，为项目沟通活动制定恰当的方法和计划的过程')">
                            规划沟通管理
                        </div>
                    </td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '管理沟通', 
                             '输入：项目管理计划、项目文件、工作绩效报告、事业环境因素、组织过程资产<br>输出：项目沟通记录、项目管理计划更新、项目文件更新<br>定义：确保项目信息及时且恰当地收集、生成、发布、存储、检索、管理、监督和最终处置的过程')">
                            管理沟通
                        </div>
                    </td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '监督沟通', 
                             '输入：项目管理计划、项目文件、工作绩效数据、事业环境因素、组织过程资产<br>输出：工作绩效信息、变更请求、项目管理计划更新、项目文件更新<br>定义：确保满足项目及其相关方的信息需求的过程')">
                            监督沟通
                        </div>
                    </td>
                    <td class="empty-cell">-</td>
                </tr>

                <!-- 项目风险管理 -->
                <tr>
                    <td class="knowledge-area" id="area-8">8. 项目风险管理</td>
                    <td class="empty-cell">-</td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '规划风险管理', 
                             '输入：项目章程、项目管理计划、项目文件、事业环境因素、组织过程资产<br>输出：风险管理计划<br>定义：定义如何实施项目风险管理活动的过程')">
                            规划风险管理
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '识别风险', 
                             '输入：项目管理计划、项目文件、协议、采购文档、事业环境因素、组织过程资产<br>输出：风险登记册、风险报告、项目文件更新<br>定义：识别单个项目风险，以及整体项目风险的来源，并记录风险特征的过程')">
                            识别风险
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '实施定性风险分析', 
                             '输入：项目管理计划、项目文件、事业环境因素、组织过程资产<br>输出：项目文件更新<br>定义：通过评估单个项目风险发生的概率和影响以及其他特征，对风险进行优先级排序，从而为后续分析或行动提供基础的过程')">
                            实施定性风险分析
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '实施定量风险分析', 
                             '输入：项目管理计划、项目文件、事业环境因素、组织过程资产<br>输出：项目文件更新<br>定义：就已识别的单个项目风险和其他不确定性的来源对整体项目目标的综合影响进行定量分析的过程')">
                            实施定量风险分析
                        </div>
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '规划风险应对', 
                             '输入：项目管理计划、项目文件、事业环境因素、组织过程资产<br>输出：变更请求、项目管理计划更新、项目文件更新<br>定义：为处理整体项目风险敞口，以及应对单个项目风险，而制定可选方案、选择应对策略并商定应对行动的过程')">
                            规划风险应对
                        </div>
                    </td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '实施风险应对', 
                             '输入：项目管理计划、项目文件、组织过程资产<br>输出：变更请求、项目文件更新<br>定义：执行商定的风险应对计划的过程')">
                            实施风险应对
                        </div>
                    </td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '监督风险', 
                             '输入：项目管理计划、项目文件、工作绩效数据、工作绩效报告<br>输出：工作绩效信息、变更请求、项目管理计划更新、项目文件更新<br>定义：在整个项目期间，监督商定的风险应对计划的实施、跟踪已识别风险、识别和分析新风险，以及评估风险管理有效性的过程')">
                            监督风险
                        </div>
                    </td>
                    <td class="empty-cell">-</td>
                </tr>

                <!-- 项目采购管理 -->
                <tr>
                    <td class="knowledge-area" id="area-9">9. 项目采购管理</td>
                    <td class="empty-cell">-</td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '规划采购管理', 
                             '输入：项目章程、商业文件、项目管理计划、项目文件、事业环境因素、组织过程资产<br>输出：采购管理计划、采购策略、招标文件、采购工作说明书、供方选择标准、自制或外购决策、独立成本估算、变更请求、项目文件更新<br>定义：记录项目采购决策、明确采购方法、识别潜在卖方的过程')">
                            规划采购管理
                        </div>
                    </td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '实施采购', 
                             '输入：项目管理计划、项目文件、采购文档、卖方建议书、事业环境因素、组织过程资产<br>输出：选定的卖方、协议、变更请求、项目管理计划更新、项目文件更新<br>定义：获取卖方应答、选择卖方并授予合同的过程')">
                            实施采购
                        </div>
                    </td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '控制采购', 
                             '输入：项目管理计划、项目文件、协议、采购文档、批准的变更请求、工作绩效数据、事业环境因素、组织过程资产<br>输出：关闭的采购、工作绩效信息、采购文档更新、变更请求、项目管理计划更新、项目文件更新<br>定义：管理采购关系、监督合同绩效、实施必要的变更和纠偏，以及关闭合同的过程')">
                            控制采购
                        </div>
                    </td>
                    <td class="empty-cell">-</td>
                </tr>

                <!-- 项目相关方管理 -->
                <tr>
                    <td class="knowledge-area" id="area-10">10. 项目相关方管理</td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '识别相关方', 
                             '输入：项目章程、商业文件、项目管理计划、项目文件、协议、事业环境因素、组织过程资产<br>输出：相关方登记册、变更请求、项目管理计划更新、项目文件更新<br>定义：定期识别项目相关方，分析和记录他们的利益、参与度、相互依赖性、影响力和对项目成功的潜在影响的过程')">
                            识别相关方
                        </div>
                    </td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '规划相关方参与', 
                             '输入：项目章程、项目管理计划、项目文件、协议、事业环境因素、组织过程资产<br>输出：相关方参与计划<br>定义：根据相关方的需求、期望、利益和对项目的潜在影响，制定项目相关方参与项目的方法的过程')">
                            规划相关方参与
                        </div>
                    </td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '管理相关方参与', 
                             '输入：项目管理计划、项目文件、事业环境因素、组织过程资产<br>输出：变更请求、项目管理计划更新、项目文件更新<br>定义：与相关方进行沟通和协作，以满足其需求与期望，处理问题，并促进相关方合理参与的过程')">
                            管理相关方参与
                        </div>
                    </td>
                    <td class="process-group">
                        <div class="process-item" 
                             onmouseover="showTooltip(event, '监督相关方参与', 
                             '输入：项目管理计划、项目文件、工作绩效数据、事业环境因素、组织过程资产<br>输出：工作绩效信息、变更请求、项目管理计划更新、项目文件更新<br>定义：监督项目相关方关系，并通过修订参与策略和计划来引导相关方合理参与项目的过程')">
                            监督相关方参与
                        </div>
                    </td>
                    <td class="empty-cell">-</td>
                </tr>
            </tbody>
        </table>
    <div class="mobile-scroll-hint">移动端可横向滑动表格查看更多过程</div>

        <div class="legend">
            <h3>图例说明</h3>
            <div class="legend-items">
                <div class="legend-item">
                    <div class="color-box process-group-color"></div>
                    <span>过程组单元格</span>
                </div>
                <div class="legend-item">
                    <div class="color-box process-item-color"></div>
                    <span>可悬停查看详细信息的过程</span>
                </div>
                <div class="legend-item">
                    <div class="color-box" style="background: linear-gradient(135deg, #2b6cb0, #3182ce);"></div>
                    <span>知识领域</span>
                </div>
                <div class="legend-item">
                    <div class="color-box" style="background: linear-gradient(135deg, #2d3748, #4a5568);"></div>
                    <span>表头</span>
                </div>
            </div>
        </div>
        <!-- 敏捷实践板块 -->
        <section id="agile" style="background:#1e293b; border:1px solid #334155; border-radius:16px; padding:26px 28px 30px; margin-top:34px; box-shadow:0 8px 30px rgba(0,0,0,.45);">
            <h2 style="margin:0 0 18px; font-size:1.6rem; font-weight:700; letter-spacing:.6px; display:flex; align-items:center; gap:10px; color:#f1f5f9;">
                <span style="display:inline-block; width:10px; height:10px; background:#3b82f6; border-radius:50%; box-shadow:0 0 0 5px rgba(59,130,246,.25);"></span>
                第三部分 · 多变环境中的项目管理实践
            </h2>
            <p style="font-size:.85rem; color:#cbd5e1; margin:0 0 20px;">聚焦高不确定性背景下的生命周期选择、敏捷价值观、精益与看板方法、团队赋能以及敏捷交付度量。</p>
            <!-- 1 敏捷概述 -->
            <article id="agile-1" style="margin-bottom:30px;">
                <h3 style="font-size:1.2rem; margin:0 0 14px; color:#3b82f6; letter-spacing:.5px;">1. 敏捷概述</h3>
                <section id="agile-1-1" style="margin:0 0 20px;">
                    <h4 style="font-size:1rem; margin:0 0 10px; color:#8b5cf6;">1.1 可确定的工作与高度不确定的工作</h4>
                    <p style="font-size:.8rem; margin:0 0 12px; color:#e2e8f0;">生命周期选择取决于需求稳定度、技术方案明确性、变更频率与相关方反馈节奏。不同不确定性水平对应不同工作模式。</p>
                    <div style="display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));">
                        <div style="background:linear-gradient(135deg,#0f172a,#1e293b); border:1px solid #475569; border-radius:12px; padding:14px 16px;">
                            <div style="font-weight:600; font-size:.78rem; color:#10b981; margin:0 0 6px;">预测型 (Predictive)</div>
                            <p style="font-size:.7rem; line-height:1.5; margin:0;">需求与技术高度明确，可复用成熟的流程与成功经验；尽量前置规划与基准（范围/进度/成本）。变更成本高，强调控制。</p>
                        </div>
                        <div style="background:linear-gradient(135deg,#0f172a,#1e293b); border:1px solid #475569; border-radius:12px; padding:14px 16px;">
                            <div style="font-weight:600; font-size:.78rem; color:#3b82f6; margin:0 0 6px;">增量型 (Incremental)</div>
                            <p style="font-size:.7rem; line-height:1.5; margin:0;">需求整体方向明确但细节逐步澄清；通过一次交付一部分可用价值来获得频繁验收与反馈，降低需求不确定带来的风险。</p>
                        </div>
                        <div style="background:linear-gradient(135deg,#0f172a,#1e293b); border:1px solid #475569; border-radius:12px; padding:14px 16px;">
                            <div style="font-weight:600; font-size:.78rem; color:#8b5cf6; margin:0 0 6px;">迭代型 (Iterative)</div>
                            <p style="font-size:.7rem; line-height:1.5; margin:0;">技术/实现路径不确定，需要不断尝试与完善；通过一轮轮原型→评估→改进来收敛解决方案质量和设计方向。</p>
                        </div>
                        <div style="background:linear-gradient(135deg,#0f172a,#1e293b); border:1px solid #475569; border-radius:12px; padding:14px 16px;">
                            <div style="font-weight:600; font-size:.78rem; color:#ef4444; margin:0 0 6px;">适应型 / 敏捷 (Adaptive)</div>
                            <p style="font-size:.7rem; line-height:1.5; margin:0;">结合迭代与增量：以短周期迭代不断优化技术与设计，同时每次迭代产出可用增量以快速验证需求价值，拥抱变更。</p>
                        </div>
                    </div>
                    <ul style="margin:14px 0 0 20px; font-size:.7rem; color:#e2e8f0;">
                        <li>预测型：可“抄/借鉴/复刻”成熟经验。</li>
                        <li>增量型：需求细节不清，一次先交付一部分→确认→继续。</li>
                        <li>迭代型：方案不确定，“不对就改”循环改善。</li>
                        <li>适应型：同时具备迭代学习 + 增量交付能力。</li>
                    </ul>
                </section>
                <section id="agile-1-2" style="margin:0 0 20px;">
                    <h4 style="font-size:1rem; margin:0 0 10px; color:#8b5cf6;">1.2 《敏捷宣言》及思维模式</h4>
                    <blockquote style="font-size:.7rem;">个体和互动 高于 流程和工具；工作的软件 高于 详尽的文档；客户协作 高于 合同谈判；响应变化 高于 遵循计划。</blockquote>
                    <p style="font-size:.78rem;">敏捷思维强调：价值优先、快速反馈、持续改进、透明协作、可持续节奏与技术卓越。通过经验主义（透明→检视→调整）驱动进步。</p>
                </section>
                <section id="agile-1-3" style="margin:0 0 20px;">
                    <h4 style="font-size:1rem; margin:0 0 10px; color:#8b5cf6;">1.3 精益与看板方法</h4>
                    <p style="font-size:.78rem;">精益原则：价值定位→价值流识别→持续流动→拉动系统→追求完美。关注消除浪费、缩短交付周期与提升吞吐。看板通过可视化工作项、限制在制品（WIP）、测量流动指标（周期/交付时间/累计流图），以渐进方式提升流程效率与稳定性。</p>
                </section>
                <section id="agile-1-4" style="margin:0 0 4px;">
                    <h4 style="font-size:1rem; margin:0 0 10px; color:#8b5cf6;">1.4 不确定性、风险与生命周期选择</h4>
                    <p style="font-size:.78rem;">不确定性来源：需求易变、技术未验证、相关方偏好波动、市场/监管变化。策略：缩短反馈周期、早交付可用增量、并行探索原型、风险优先排序、保持架构可演进。</p>
                </section>
            </article>
            <!-- 2 生命周期选择 -->
            <article id="agile-2" style="margin-bottom:30px;">
                <h3 style="font-size:1.2rem; margin:0 0 14px; color:#3b82f6; letter-spacing:.5px;">2. 生命周期选择</h3>
                <section id="agile-2-1" style="margin:0 0 20px;">
                    <h4 style="font-size:1rem; margin:0 0 10px; color:#8b5cf6;">2.1 项目生命周期的特征</h4>
                    <p style="font-size:.78rem;">典型特征：成本与资源在早期较低，中期攀升，末期下降；风险与不确定性随时间降低；相关方影响力与变更成本随时间增加。不同生命周期通过变更管理灵活度与反馈频率平衡风险。</p>
                </section>
                <section id="agile-2-2" style="margin:0 0 20px;">
                    <h4 style="font-size:1rem; margin:0 0 10px; color:#8b5cf6;">2.2 混合敏捷方法</h4>
                    <p style="font-size:.78rem;">将预测型组件（合规、合同、硬件等）与敏捷或迭代增量组件（软件、探索性设计等）融合；核心是按子域差异化治理，建立接口与集成点。例：整体里程碑预测 + 软件迭代冲刺交付。</p>
                </section>
                <section id="agile-2-3" style="margin:0 0 4px;">
                    <h4 style="font-size:1rem; margin:0 0 10px; color:#8b5cf6;">2.3 Scrum 简述</h4>
                    <p style="font-size:.78rem;">角色：产品负责人（价值最大化）、Scrum Master（流程与障碍移除）、开发团队（跨职能自组织）。事件：Sprint、Sprint Planning、Daily Scrum、Sprint Review、Sprint Retrospective。工件：产品待办列表、Sprint 待办列表、增量。特点：经验主义+时间盒+透明性。</p>
                </section>
            </article>
            <!-- 3 实施敏捷：创建敏捷环境（人） -->
            <article id="agile-3" style="margin-bottom:30px;">
                <h3 style="font-size:1.2rem; margin:0 0 14px; color:#3b82f6; letter-spacing:.5px;">3. 实施敏捷：创建敏捷环境（人）</h3>
                <section id="agile-3-1" style="margin:0 0 16px;">
                    <h4 style="font-size:1rem; margin:0 0 10px; color:#8b5cf6;">3.1 从敏捷思维模式开始</h4>
                    <p style="font-size:.78rem;">推广价值观与原则，建立共同语言；强调透明、开放反馈、安全试错与持续改进文化。</p>
                </section>
                <section id="agile-3-2" style="margin:0 0 16px;">
                    <h4 style="font-size:1rem; margin:0 0 10px; color:#8b5cf6;">3.2 仆人式领导为团队赋权</h4>
                    <p style="font-size:.78rem;">移除障碍、保护团队免受干扰、推动自组织与技能成长、促进跨职能协作与价值对齐。</p>
                </section>
                <section id="agile-3-3" style="margin:0 0 4px;">
                    <h4 style="font-size:1rem; margin:0 0 10px; color:#8b5cf6;">3.3 团队构成</h4>
                    <p style="font-size:.78rem;">小而稳定（通常 5-9 人），跨职能（设计/开发/测试/运维/业务），具备端到端交付能力；关注技能 T 型化与知识共享。</p>
                </section>
            </article>
            <!-- 4 实施敏捷：在敏捷环境中交付（过程） -->
            <article id="agile-4" style="margin-bottom:10px;">
                <h3 style="font-size:1.2rem; margin:0 0 14px; color:#3b82f6; letter-spacing:.5px;">4. 实施敏捷：在敏捷环境中交付（过程）</h3>
                <section id="agile-4-1" style="margin:0 0 16px;">
                    <h4 style="font-size:1rem; margin:0 0 10px; color:#8b5cf6;">4.1 项目章程与团队章程</h4>
                    <p style="font-size:.78rem;">明确愿景、目标、边界、高层需求与成功标准；团队章程约定价值观、沟通规范、仪式节奏、决策机制与冲突处理方式。</p>
                </section>
                <section id="agile-4-2" style="margin:0 0 16px;">
                    <h4 style="font-size:1rem; margin:0 0 10px; color:#8b5cf6;">4.2 常见敏捷实践</h4>
                    <ul style="font-size:.72rem; margin:0 0 10px 20px; color:#e2e8f0;">
                        <li>用户故事 / Story Mapping</li>
                        <li>产品待办优先级（价值 / 风险 / 依赖）</li>
                        <li>Sprint / Iteration 时间盒与燃尽图</li>
                        <li>持续集成 (CI) 与自动化测试</li>
                        <li>代码评审 / Pair Programming</li>
                        <li>持续交付 / DevOps 协作</li>
                        <li>回顾会议 (Retrospective) 持续改进</li>
                        <li>看板可视化与 WIP 限制</li>
                    </ul>
                </section>
                <section id="agile-4-3" style="margin:0 0 4px;">
                    <h4 style="font-size:1rem; margin:0 0 10px; color:#8b5cf6;">4.3 敏捷项目衡量指标</h4>
                    <ul style="font-size:.72rem; margin:0 0 6px 20px; color:#e2e8f0;">
                        <li>吞吐量 (Throughput)</li>
                        <li>循环/交付时间 (Cycle/Lead Time)</li>
                        <li>燃尽 / 燃起图趋势</li>
                        <li>缺陷率 / 质量趋势</li>
                        <li>团队可预测性 (计划完成比)</li>
                        <li>发布频率 / MTTR</li>
                        <li>价值实现速度 (Value Delivery)</li>
                        <li>相关方满意度 / NPS</li>
                    </ul>
                    <p style="font-size:.7rem; color:#94a3b8;">指标使用原则：可视化 → 解释语境 → 促成改进，不作个人考核唯指标论。</p>
                </section>
            </article>
        </section>
    </div>

    <div id="tooltip">
        <div class="tooltip-title" id="tooltipTitle"></div>
        <div class="tooltip-content" id="tooltipContent"></div>
    </div>

    <script>
        // 触摸设备适配：点击显示/关闭 Tooltip（替代 hover）
        (function(){
            const isTouch = 'ontouchstart' in window || navigator.maxTouchPoints > 0;
            if(!isTouch) return;
            let activeItem = null;
            const tooltip = document.getElementById('tooltip');
            function parseOnMouseOver(attr){
                if(!attr) return null;
                const m = attr.match(/showTooltip\(event,\s*'([^']+)'\s*,\s*'([^']+)'/);
                return m ? {title:m[1], content:m[2]} : null;
            }
            document.addEventListener('DOMContentLoaded',function(){
                document.querySelectorAll('.process-item').forEach(item => {
                    item.addEventListener('click', function(e){
                        e.stopPropagation();
                        const data = parseOnMouseOver(this.getAttribute('onmouseover'));
                        if(!data) return;
                        if(activeItem === this){
                            tooltip.style.display='none'; activeItem=null; return;
                        }
                        const rect = this.getBoundingClientRect();
                        const fakeEvent = {clientX: rect.left + rect.width/2, clientY: rect.top + rect.height/2};
                        showTooltip(fakeEvent, data.title, data.content);
                        activeItem = this;
                    });
                });
                document.addEventListener('click', function(){
                    if(activeItem){ tooltip.style.display='none'; activeItem=null; }
                });
            });
        })();
        function showTooltip(event, title, rawContent) {
            const tooltip = document.getElementById('tooltip');
            const tooltipTitle = document.getElementById('tooltipTitle');
            const tooltipContent = document.getElementById('tooltipContent');
            // 解析内容: 格式 输入：...<br>输出：...<br>定义：...
            const parts = rawContent.split('<br>');
            let inputStr = '', outputStr = '', defStr = '';
            parts.forEach(p => {
                if (p.startsWith('输入：')) inputStr = p.replace('输入：','').trim();
                else if (p.startsWith('输出：')) outputStr = p.replace('输出：','').trim();
                else if (p.startsWith('定义：')) defStr = p.replace('定义：','').trim();
            });
            // 列表切分（用、作为分隔）
            function toItems(str){
                return str ? str.split('、').map(s=>s.trim()).filter(Boolean) : [];
            }
            const inputItems = toItems(inputStr);
            const outputItems = toItems(outputStr);
            // Accent 根据标题关键词
            const lower = title.toLowerCase();
            let accentClass = 'accent-plan';
            if (/变更|控制|监控|监督/.test(title)) accentClass = 'accent-control';
            else if (/风险/.test(title)) accentClass = 'accent-risk';
            else if (/质量/.test(title)) accentClass = 'accent-quality';
            else if (/资源/.test(title)) accentClass = 'accent-resource';
            else if (/相关方/.test(title)) accentClass = 'accent-stake';
            tooltip.className = accentClass;
            tooltipTitle.innerHTML = `${title}`;
            const inputHtml = inputItems.length ? `<div class="tooltip-section"><div class="tooltip-section-title">输入</div><ul class="tooltip-list">${inputItems.map(i=>`<li>${i}</li>`).join('')}</ul></div>` : '';
            const outputHtml = outputItems.length ? `<div class="tooltip-section"><div class="tooltip-section-title">输出</div><ul class="tooltip-list">${outputItems.map(i=>`<li>${i}</li>`).join('')}</ul></div>` : '';
            const defHtml = defStr ? `<div class="tooltip-section"><div class="tooltip-section-title">定义</div><div style="font-size:.66rem; color:#e2e8f0; line-height:1.5;">${defStr}</div></div>` : '';
            tooltipContent.innerHTML = `${inputHtml}${outputHtml}<div class="tooltip-divider"></div>${defHtml}<div class="tooltip-footer"><span>提示:</span> 聚焦关键词，建立输入→输出链路记忆。</div>`;
            tooltip.style.display = 'block';
            const x = event.clientX + 18;
            const y = event.clientY + 18;
            tooltip.style.left = x + 'px';
            tooltip.style.top = y + 'px';
            const tooltipRect = tooltip.getBoundingClientRect();
            const windowWidth = window.innerWidth;
            const windowHeight = window.innerHeight;
            if (x + tooltipRect.width > windowWidth) {
                tooltip.style.left = (event.clientX - tooltipRect.width - 20) + 'px';
            }
            if (y + tooltipRect.height > windowHeight) {
                tooltip.style.top = (event.clientY - tooltipRect.height - 20) + 'px';
            }
        }

        function hideTooltip() {
            const tooltip = document.getElementById('tooltip');
            tooltip.style.display = 'none';
        }

        // 为所有process-item添加鼠标移出事件
        document.addEventListener('DOMContentLoaded', function() {
            const processItems = document.querySelectorAll('.process-item');
            processItems.forEach(item => {
                item.addEventListener('mouseout', hideTooltip);
            });
        });

        // 鼠标移动时更新tooltip位置
        document.addEventListener('mousemove', function(e) {
            const tooltip = document.getElementById('tooltip');
            if (tooltip.style.display === 'block') {
                const x = e.clientX + 15;
                const y = e.clientY + 15;
                
                tooltip.style.left = x + 'px';
                tooltip.style.top = y + 'px';
                
                // 防止tooltip超出屏幕
                const tooltipRect = tooltip.getBoundingClientRect();
                const windowWidth = window.innerWidth;
                const windowHeight = window.innerHeight;
                
                if (x + tooltipRect.width > windowWidth) {
                    tooltip.style.left = (e.clientX - tooltipRect.width - 15) + 'px';
                }
                
                if (y + tooltipRect.height > windowHeight) {
                    tooltip.style.top = (e.clientY - tooltipRect.height - 15) + 'px';
                }
            }
        });
    </script>
</body>
</html>